# 从django.http模块导入JsonResponse类，用于返回JSON格式的响应
from django.http import JsonResponse
# 从django.contrib.auth模块导入logout函数，用于注销当前用户会话
from django.contrib.auth import logout

# 定义一个名为signout的视图函数，它接收一个HttpRequest对象作为参数
def signout(request):
    # 通过request对象的user属性获取当前用户
    user = request.user
    
    # 检查当前用户是否已经通过认证（即是否已登录）
    if not user.is_authenticated:
        # 如果用户未登录，则直接返回一个表示成功的JSON响应
        # 在实际应用中，这里可能还需要考虑是否要返回一些额外的信息，
        # 比如提示用户已经是注销状态，或者重定向到登录页面等。
        return JsonResponse({
            'result': "success",
        })
    
    # 如果用户已登录，则调用logout函数来注销用户会话
    logout(request)
    
    # 注销成功后，返回一个表示成功的JSON响应
    # 在实际应用中，这里通常还会重定向用户到某个页面，比如登录页面或首页，
    # 但由于这个函数返回的是JsonResponse，所以这里只是简单地返回了一个JSON对象。
    # 如果需要重定向，可以考虑在前端接收到这个响应后，使用JavaScript进行页面跳转。
    return JsonResponse({
        'result': "success",
    })